According to conventional Web-based architectures, a client application (e.g., a Web browser) requests information from a Web server, the Web server retrieves the information from a database system (e.g., via an intermediate application server), and the Web server provides the information to the client application. This request-response protocol does not allow the Web server to proactively notify the client application of changes to the data of the database system.
It may be desirable to notify Web-based client applications of changes in database content. This notification may be provided by polling database content via periodically executed queries, which introduces an unnecessary and possibly overwhelming load onto the database. Alternatively, all update traffic may be provisioned through the application server, which requires the application server to examine all incoming data traffic and does not account for applications connecting to the database via standard interfaces.
Similarly, the request/response paradigm of HyperText Transfer Protocol (HTTP) prevents application servers from providing database updates to a client application without a pending client request. Providing updates via polling would introduce an unnecessary load and network traffic, while chunked responses which provide updates as an endless list of chunks would lead to problems in HTTP infrastructure.